# 导入线程模块
import threading
# 导入时间模块
import time
 
# 添加一个计数器，最大并发线程数量5(最多同时运行5个线程)
semaphore = threading.Semaphore(1)
 
def foo():
 semaphore.acquire() #计数器获得锁
 time.sleep(2) #程序休眠2秒
 print("当前时间：",time.ctime()) # 打印当前系统时间
 semaphore.release() #计数器释放锁
 
def test():
 thread_list= list()
 for i in range(20):
    t=threading.Thread(target=foo,args=()) #创建线程
    thread_list.append(t)
    t.start() #启动线程
 
 for t in thread_list:
    t.join()
 
 print("程序结束！")

def test():
 semaphore.acquire() #计数器获得锁
 time.sleep(1) #程序休眠2秒
 print("当前时间：",time.ctime()) # 打印当前系统时间
 semaphore.release() #计数器释放锁

if __name__ == "__main__":

    t=threading.Thread(target=test) #创建线程
    t.start() #启动线程

    t=threading.Thread(target=test) #创建线程
    t.start() #启动线程

    t=threading.Thread(target=test) #创建线程
    t.start() #启动线程
 